package com.markus.code.动态规划.股票问题;

/**
 * Author:markusZhang
 * Date:Create in 2020/8/20 13:49
 * todo: 股票的最大利润
 */
public class Offer_63 {
    /**
     * 假设把某股票的价格按照时间先后顺序存储在数组中，请问买卖该股票一次可能获得的最大利润是多少？
     * 看到这个题，我们只需要知道在卖出前的最低价格，遍历数组，最后得出最大值
     */
    public int maxProfit(int[] prices) {
        if (prices == null || prices.length == 0){
            return 0;
        }
        int minPrice = prices[0];
        int max = 0;
        for (int i=1;i<prices.length;i++){
            minPrice = Math.min(minPrice,prices[i]);
            max = Math.max(max,prices[i]-minPrice);
        }
        return max;
    }
}
